JS 异步
👹
Promise
- 用来优化回调地狱问题 使代码可读性更高
- Promise方法会有两个参数,条件为真,会执行参数一,否则会执行参数二,执行参数一之后.then 否则catch
数据的传递是直接用参数,并且在每个回调函数里面不能马上处理数据,需要下一个.then 或者 catch来打印。
async await
async :是用来定义此函数是一个异步函数,也只有在异步函数里才能使用await关键字
1
2
3
4
5
6async function name(params) {
//这是一个异步函数
let resultA = await requestResultA()
let resultB = await requestResultB(resultA)
console.log(resultB);
}resultA返回的是一个promise
await字面意思是等待 当程序执行到第一个await ,计算机需要完全将 requestResultA() 执行完才会 执行下面的代码。
假如不这样,代码会一股脑的运行到低,其中的数据压根来不及处理1
2
3
4//回忆一下
async function XX(){
{ data : ref } = await 一个Promise返回对象
}
Promise 是一个异步操作,当它忙于工作时,主程序可以继续,不会阻碍进步